//
//  HSMessageListViewModel.swift
//  Home_School_08
//
//  Created by 张晓林 on 2016/12/29.
//  Copyright © 2016年 张晓林. All rights reserved.
//

import UIKit


class HSMessageListViewModel {
    // 数据源数组，放消息模型对象
    var messageModels: [HSMessageViewModel] = []
    
    // 请求数据
    func loadData(finished: @escaping (_ isRefresh:Bool) -> ()) {
        // 获得接口
        let urlStr = "ZH-schoolname-S-getJXNotification"
        // 参数
        let parm:[String:Any] = ["key":userID,"id":0,"load_type":1]
        // 请求数据
        HSNetworkTools.shared.request(url: urlStr, parameters: parm) {[weak self] (data, err) in
            
            guard let data = data as? NSDictionary else {
                HSAlertView.bottomAlertView("网络异常")
                return
            }
            
            switch data["result"] as! Int {
            case 0:
                // 获得消息数组
                guard let dictArray = data["data"] as? [[String: Any]] else {
                    return
                }
                print(dictArray)
                // 循环转换数据
                for dict in dictArray {
                    // 字典转模型
                    let message = HSMessageModel(dict: dict)
                    // 获得回复列表字典数组
                    let rlDictArr = message.replaylist as! [[String: Any]]
                    // 创建一个可变的保存回复列表模型的数组
                    var listModelArr = [HSReplayListModel]()
                    for d in rlDictArr {
                        let rlListM = HSReplayListModel(dict: d)
                        listModelArr.append(rlListM)
                    }
                    // 将转换好的回复列表模型数组赋值给消息模型的属性
                    message.replaylist = listModelArr
                    // 添加到数组
                    self?.messageModels.append(HSMessageViewModel(model: message))
                }
                
                // 刷新表格视图
                finished(true)
                
            case 1:
                HSAlertView.bottomAlertView("数据加载异常")
                finished(false)
            default:
                break
            }
        }
    }

}








